// 通过位图来实现哈希表
// 用位运算来判断某个比特位是否为1，改成1
class Solution {
    public boolean isUnique(String astr) {
        int n = astr.length();
        // 超出26个字符，就一定会重复
        if(n > 26) return false;
        int a = 0; // 位图
        
        for(int i = 0; i < n; i++) {
            int x = astr.charAt(i) - 'a'; // 当前字符的索引
            // 先判断字符是不是在位图中
            if(((a >> x) & 1) == 1) {
                return false;
            } else {
                // 不是就把该字符加入到位图中
                a = a | (1 << x);
            }
        }
        return true;
    }
}